package com.xyz.config;

import com.xyz.service.TicketServiceImpl;
import org.apache.dubbo.config.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.ArrayList;
import java.util.List;

/**
 * @author 肖咉卓
 */
//@Configuration
public class DubboConfig {

//    @Bean
//    public ApplicationConfig applicationConfig(){
//        ApplicationConfig applicationConfig = new ApplicationConfig();
//        //设置注册名字
//        applicationConfig.setName("mavisxyztu2");
//        return applicationConfig;
//    }
//
//    @Bean
//    public RegistryConfig registryConfig(){
//        RegistryConfig registryConfig=new RegistryConfig();
//        //设置注册中心地址和名字
//        registryConfig.setProtocol("zookeeper");
//        registryConfig.setAddress("127.0.0.1:2181");
//        return registryConfig;
//    }
//
//    @Bean
//    public ProtocolConfig protocolConfig(){
//        ProtocolConfig protocolConfig=new ProtocolConfig();
//        //指定通信规则,设置端口号
//        protocolConfig.setName("dubbo");
//        protocolConfig.setPort(20884);
//        return protocolConfig;
//    }
//
//    /**
//     * 需要暴露的服务
//     */
//    @Bean
//    public ServiceConfig<TicketServiceImpl> serviceServiceConfig(TicketServiceImpl ticketService){
//        ServiceConfig<TicketServiceImpl> config=new ServiceConfig<TicketServiceImpl>();
//        config.setInterface(TicketServiceImpl.class);
//        config.setRef(ticketService);
//        //设置版本
//        config.setVersion("1.0");
//        //设置method的信息
//        MethodConfig methodConfig = new MethodConfig();
//        //设置方法名
//        methodConfig.setName("getTicket");
//        //设置超时属性
//        methodConfig.setTimeout(1000);
//
//        //将method中的设置保存到service配置中
//        List<MethodConfig> list=new ArrayList<>();
//        list.add(methodConfig);
//        config.setMethods(list);
//        //要设置什么就使用config.set名字  如：ProviderConfig,MonitorConfig
//        return config;
//    }

}
